﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using Domain.审计字段;

namespace Domain_nwj.ContractManagement
{
    /// <summary>
    /// 通用合同管理表
    /// </summary>
    public class GeneralContracts : ApprovalAuditableEntityBase
    {
        [Key]
        /// <summary>
        /// 自增主键
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 合同编号（非空）
        /// </summary>
        public string ContractNumber { get; set; }

        /// <summary>
        /// 合同标题（非空）
        /// </summary>
        public string ContractTitle { get; set; }

        /// <summary>
        /// 关联单位ID（外键）
        /// </summary>
        public int? UnitId { get; set; }

        /// <summary>
        /// 合同方名称
        /// </summary>
        public string? OwnerName { get; set; }

        /// <summary>
        /// 合同类别（如租赁、采购）
        /// </summary>
        public string? ContractCategory { get; set; }

        /// <summary>
        /// 签订日期
        /// </summary>
        public DateTime? SigningDate { get; set; }

        /// <summary>
        /// 经办人
        /// </summary>
        public string? Handler { get; set; }

        /// <summary>
        /// 合同总金额（单位：元）
        /// </summary>
        public double? ContractAmount { get; set; }

        /// <summary>
        /// 合同主体描述
        /// </summary>
        public string? ContractSubjectDescription { get; set; }

        /// <summary>
        /// 合同条款
        /// </summary>
        public string? ContractTerms { get; set; }

        /// <summary>
        /// 合同附件（存储路径）
        /// </summary>
        public string? ContractAttachment { get; set; }

        /// <summary>
        /// 创建日期
        /// </summary>
        public DateTime? CreateDate { get; set; }

        /// <summary>
        /// 流程详情（备用字段）
        /// </summary>
        public int? ProcessDetail { get; set; }
    }
}
